package strategy_pattern;

import lombok.Setter;

/**
 * @author 申书航
 * @version 1.0
 *
 * 冒险者类，表示一个具有行为策略的冒险者。
 */
public class Adventurer {

    @Setter
    private IBehavior behavior; // 行为接口的实现类，用于定义冒险者的行为

    /**
     * 构造函数，初始化冒险者的行为。
     *
     * @param behavior 实现了IBehavior接口的行为对象
     */
    public Adventurer(IBehavior behavior) {
        this.behavior = behavior;
    }

    /**
     * 探索方法，调用当前行为的执行方法并返回结果。
     *
     * @return ResultType 探索的结果
     */
    public ResultType explore() {
        return this.behavior.execute();
    }
}

